package com.qst.crop.service;

import com.qst.crop.entity.OrderDiscuss;

import java.util.List;

import java.util.List;

public interface OrderDiscussService {
    /**
     * 添加新的评论
     * @param orderDiscuss 评论实体
     */
    void addOrderDiscuss(OrderDiscuss orderDiscuss);

    /**
     * 获取所有评论列表
     * @return 评论列表
     */
    List<OrderDiscuss> getOrderDiscussList(Integer id);

    /**
     * 根据ID获取评论
     * @param id 评论ID
     * @return 评论实体
     */
    OrderDiscuss getOrderDiscussById(Integer id);

    /**
     * 更新评论信息
     * @param orderDiscuss 评论实体
     */
    void updateOrderDiscuss(OrderDiscuss orderDiscuss);

    /**
     * 删除评论
     * @param id 评论ID
     */
    void deleteOrderDiscuss(Integer id);

    /**
     * 根据用户名获取评论回复
     * @param userName 用户名
     * @return 评论回复列表
     */
    List<OrderDiscuss> getDiscussRepliesByUsername(String userName);

    /**
     * 根据回复ID获取评论回复
     * @param replyId 回复ID
     * @return 评论回复列表
     */
    List<OrderDiscuss> getDiscussRepliesByReplyId(String replyId);

    /**
     * 根据orderDiscussId获取评论及其回复
     * @param replyId 评论ID
     * @return 包含回复评论的评论对象
     */
    List<OrderDiscuss> getOrderDiscussWithRepliesById(Integer replyId);


    List<OrderDiscuss> selectAllReplyDiscuss(Integer id);

    int addRepluNum(Integer discussId);

    List<Integer> userLikeList(String username);

    int addLike(String username, Integer orderDiscussId);

    int deleteLike(String username, Integer orderDiscussId);
}